Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Altri Linguaggi - [MIPS] Programma che calcola la media
Forum - Altri Linguaggi - [MIPS] Programma che calcola la media

Avatar
Ricowolf (Normal User)
Newbie


Messaggi: 1
Iscritto: 10/03/2015

Segnala al moderatore
Postato alle 17:03
Martedì, 10/03/2015
Ciao a tutti,
mi chiamo Riccardo e mi sto esercitando per l'esame orale di calcolatori elettronici. Ho provato a realizzare un programmino in assembly che calcola la media di numeri che inserisco da tastiera. Ovviamente la media può essere un numero con la virgola. In questo punto mi incaglio, nel senso che non riesco a gestire il numero in virgola mobile. Ho provato utilizzando i registri riservati ai numeri in virgola mobile ma niente. In pratica non riesco a stampare su console la media se il risultato è un numero con la virgola. Posto il codice:




.data
  
consegna1:   .asciiz "Ciao Riccardo, quanti numeri vuoi inserire?  "
a_capo:      .asciiz "\n"
consegna2:   .asciiz "Inserisci un numero: "
risposta:    .asciiz "La media è: \n"
error:       .asciiz "Errore! Chiusura programma.\n"


   .text
  
   li $t2, 0            # inizializzo la somma nel reg $t2
   li $t0, 0            # inizializzo il contatore nel reg $t0
  
   li $v0, 4
   la $a0, consegna1
   syscall
  
   li $v0, 4
   la $a0, a_capo
   syscall
  
   li $v0, 5
   syscall
   move $t1, $v0       # in $t1 ho il numero di numeri
  
   beq $t1, 0, errore
  
inserisci_numero:
   beq $t0, $t1, calcolo_media
  
   li $v0, 4
   la $a0, consegna2
   syscall
  
   li $v0, 5
   syscall
  
   add $t2, $t2, $v0
  
   addi $t0, $t0, 1
  
   j inserisci_numero
  
calcolo_media:
   div $t3, $t2, $t1
  
   mtc1 $t3, $f1
  
   li $v0, 4
   la $a0, risposta
   syscall
  
   li $v0, 2
   add.s $f12, $f1, $zero
   syscall
  
   li $v0, 10
   syscall
  
errore:
   li $v0, 4
   la $a0, error
   syscall
  
   li $v0, 10
   syscall


Mi scuso ma non mi fa utilizzare il tag



Ultima modifica effettuata da Ricowolf il 10/03/2015 alle 17:05
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 20:11
Martedì, 10/03/2015
Codice sorgente - presumibilmente Plain Text

  1. li $v0, 5



Il mio blog: https://piero.dev
PM Quote